home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / um / include / shared / chan_kern.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.5 KB  |  51 lines

  1. /* 
  2.  * Copyright (C) 2000, 2001 Jeff Dike (jdike@karaya.com)
  3.  * Licensed under the GPL
  4.  */
  5.  
  6. #ifndef __CHAN_KERN_H__
  7. #define __CHAN_KERN_H__
  8.  
  9. #include "linux/tty.h"
  10. #include "linux/list.h"
  11. #include "linux/console.h"
  12. #include "chan_user.h"
  13. #include "line.h"
  14.  
  15. struct chan {
  16.     struct list_head list;
  17.     struct list_head free_list;
  18.     struct line *line;
  19.     char *dev;
  20.     unsigned int primary:1;
  21.     unsigned int input:1;
  22.     unsigned int output:1;
  23.     unsigned int opened:1;
  24.     unsigned int enabled:1;
  25.     int fd;
  26.     const struct chan_ops *ops;
  27.     void *data;
  28. };
  29.  
  30. extern void chan_interrupt(struct list_head *chans, struct delayed_work *task,
  31.                struct tty_struct *tty, int irq);
  32. extern int parse_chan_pair(char *str, struct line *line, int device,
  33.                const struct chan_opts *opts, char **error_out);
  34. extern int write_chan(struct list_head *chans, const char *buf, int len,
  35.                  int write_irq);
  36. extern int console_write_chan(struct list_head *chans, const char *buf, 
  37.                   int len);
  38. extern int console_open_chan(struct line *line, struct console *co);
  39. extern void deactivate_chan(struct list_head *chans, int irq);
  40. extern void reactivate_chan(struct list_head *chans, int irq);
  41. extern void chan_enable_winch(struct list_head *chans, struct tty_struct *tty);
  42. extern int enable_chan(struct line *line);
  43. extern void close_chan(struct list_head *chans, int delay_free_irq);
  44. extern int chan_window_size(struct list_head *chans, 
  45.                  unsigned short *rows_out, 
  46.                  unsigned short *cols_out);
  47. extern int chan_config_string(struct list_head *chans, char *str, int size,
  48.                   char **error_out);
  49.  
  50. #endif
  51.